<?php


include __DIR__.'\Classes\PHPExcel\IOFactory.php';
date_default_timezone_set('PRC');
// ob_end_clean();
header("Content-type: text/html; charset=utf-8");  
class excel{ 
	//读取excel文件
	public function dtext($inputFileName){
	
		// echo $inputFileName;
		// exit;
		// 读取excel文件
		try {
			$inputFileType = PHPExcel_IOFactory::identify($inputFileName);
			$objReader = PHPExcel_IOFactory::createReader($inputFileType);
			$objPHPExcel = $objReader->load($inputFileName);
		} catch(Exception $e) {
			die('加载文件发生错误："'.pathinfo($inputFileName,PATHINFO_BASENAME).'": '.$e->getMessage());
		}
		// 确定要读取的sheet，什么是sheet，看excel的右下角，真的不懂去百度吧
		$sheet = $objPHPExcel->getSheet(0);
		$highestRow = $sheet->getHighestRow();
		// echo $highestRow;//1816

		$highestColumn = $sheet->getHighestColumn();
		//echo $highestColumn;  //N
		$newarr = array();
		
		// 获取一行的数据
		for ($row = 1; $row <= $highestRow; $row++){
			$rowData = $sheet->rangeToArray('A' . $row . ':' . $highestColumn . $row, NULL, TRUE, FALSE);
			foreach ($rowData as $key => $value) {
				
				$newarr[] = $value;
			}

		}
		return $newarr;
	}
	function exportExcel($title=array(), $data=array(), $fileName='', $savePath='./', $isDown=false){  
		$obj = new \PHPExcel();  
		//横向单元格标识  
		$cellName = array('A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', 'AA', 'AB', 'AC', 'AD', 'AE', 'AF', 'AG', 'AH', 'AI', 'AJ', 'AK', 'AL', 'AM', 'AN', 'AO', 'AP', 'AQ', 'AR', 'AS', 'AT', 'AU', 'AV', 'AW', 'AX', 'AY', 'AZ');  

		$obj->getActiveSheet(0)->setTitle('sheet名称');   //设置sheet名称  
	
		$_row = 1;   //设置纵向单元格标识  
		if($title){  
			$_cnt = count($title);  
			$obj->getActiveSheet(0)->mergeCells('A'.$_row.':'.$cellName[$_cnt-1].$_row);   //合并单元格  
			$obj->setActiveSheetIndex(0)->setCellValue('A'.$_row, '数据导出：'.date('Y-m-d H:i:s'));  //设置合并后的单元格内容  
			$_row++;  
			$i = 0;  
			foreach($title AS $v){   //设置列标题  
				$obj->setActiveSheetIndex(0)->setCellValue($cellName[$i].$_row, $v);  
				$i++;  
	
			}  
			$_row++;  
	
		}
		//填写数据  
		if($data){  
			$i = 0;  
			foreach($data AS $_v){  
				$j = 0;  
				foreach($_v AS $_cell){  
					$obj->getActiveSheet(0)->setCellValue($cellName[$j] . ($i+$_row), $_cell);  
					$j++;  
				}
				$i++;
			}  
		}  
		//文件名处理  
		if(!$fileName){  
			$fileName = uniqid(time(),true);  
	
		}  
		$objWrite = PHPExcel_IOFactory::createWriter($obj, 'Excel2007');  
		if($isDown){   //网页下载  
			header('pragma:public');  
			header("Content-Disposition:attachment;filename=$fileName.xls");  
			$objWrite->save('php://output');exit;  
		}
		$_fileName = iconv("utf-8", "gb2312", $fileName);   //转码  
		$_savePath = $savePath.$_fileName.'.xlsx';  
		$objWrite->save($_savePath);  
	    return $savePath.$fileName.'.xlsx';  
	
	}  




	public	function importExecl($file='./9.xls', $sheet=0){  

			$file = iconv("utf-8", "gb2312", $file);   //转码  
		
			if(empty($file) OR !file_exists($file)) {  
		
				die('file not exists!');  
		
			}  
		
			include('PHPExcel.php');  //引入PHP EXCEL类  
		
			$objRead = new PHPExcel_Reader_Excel2007();   //建立reader对象  
		
			if(!$objRead->canRead($file)){  
		
				$objRead = new PHPExcel_Reader_Excel5();  
		
				if(!$objRead->canRead($file)){  
		
					die('No Excel!');  
		
				}  
		
			}  
		
		   
		
			$cellName = array('A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', 'AA', 'AB', 'AC', 'AD', 'AE', 'AF', 'AG', 'AH', 'AI', 'AJ', 'AK', 'AL', 'AM', 'AN', 'AO', 'AP', 'AQ', 'AR', 'AS', 'AT', 'AU', 'AV', 'AW', 'AX', 'AY', 'AZ');  
		
		   
		
			$obj = $objRead->load($file);  //建立excel对象  
		
			$currSheet = $obj->getSheet($sheet);   //获取指定的sheet表  
		
			$columnH = $currSheet->getHighestColumn();   //取得最大的列号  
		
			$columnCnt = array_search($columnH, $cellName);  
		
			$rowCnt = $currSheet->getHighestRow();   //获取总行数  
		
		   
		
			$data = array();  
		
			for($_row=1; $_row<=$rowCnt; $_row++){  //读取内容  
		
				for($_column=0; $_column<=$columnCnt; $_column++){  
		
					$cellId = $cellName[$_column].$_row;  
		
					$cellValue = $currSheet->getCell($cellId)->getValue();  
		
					 //$cellValue = $currSheet->getCell($cellId)->getCalculatedValue();  #获取公式计算的值  
		
					if($cellValue instanceof PHPExcel_RichText){   //富文本转换字符串  
		
						$cellValue = $cellValue->__toString();  
		
					}  
		
		   
		
					$data[$_row][$cellName[$_column]] = $cellValue;  
		
				}  
		
			}  
			return $data;  
		
		}
}


?>